<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="utf-8" />
        <title>PythonTutorials - Maxiaoan</title>
        <link rel="stylesheet" href="/theme/css/main.css" />

        <!--[if IE]>
            <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
</head>

<body id="index" class="home">
        <header id="banner" class="body">
                <h1><a href="/">PythonTutorials </a></h1>
                <nav><ul>
                    <li><a href="/category/cpp.html">cpp</a></li>
                    <li><a href="/category/python.html">python</a></li>
                </ul>
                </nav>
        </header><!-- /#banner -->

                <section id="content" class="body">
                    <ol id="posts-list" class="hfeed" start="2">
            <li><article class="hentry">
                <header>
                    <h1><a href="/Part.1.E.7.files.html" rel="bookmark"
                           title="Permalink to Part.1.E.7.files">Part.1.E.7.files</a></h1>
                </header>

                <div class="entry-content">
<footer class="post-info">
        <span>Mon 06 April 2020</span>
<span>| tags: <a href="/tag/python.html">python</a><a href="/tag/progarmming.html">progarmming</a><a href="/tag/excel.html">Excel</a></span>
</footer><!-- /.post-info -->                <h1>文件</h1>
<p>我们需要处理的数据，一定是很多，所以才必须由计算机帮我们处理 —— 大量的数据保存、读取、写入，需要的就是文件（Files）。在这一章里，我们只介绍最简单的文本文件。</p>
<h2>创建文件</h2>
<p>创建一个文件，最简单的方式就是用 Python 的内建函数 <code>open()</code>。</p>
<p><code>open()</code> 函数的<a href="https://docs.python.org/3/library/functions.html#open">官方文档</a>很长，以下是个简化版：</p>
<blockquote>
<p><code>open(file, mode='r')</code></p>
</blockquote>
<p>第二个参数，<code>mode</code>，默认值是 <code>'r'</code>，可用的 <code>mode</code> 有以下几种：</p>
<table>
<thead>
<tr>
<th>参数字符</th>
<th>意义</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>'r'</code></td>
<td>只读模式</td>
</tr>
<tr>
<td><code>'w'</code></td>
<td>写入模式（重建）</td>
</tr>
<tr>
<td><code>'x'</code></td>
<td>排他模式 —— 如果文件已存在则打开失败</td>
</tr>
<tr>
<td><code>'a'</code></td>
<td>追加模式 —— 在已有文件末尾追加</td>
</tr>
<tr>
<td><code>'b'</code></td>
<td>二进制文件模式</td>
</tr>
<tr>
<td><code>'t'</code></td>
<td>文本文件模式 …</td></tr></tbody></table>
                <a class="readmore" href="/Part.1.E.7.files.html">read more</a>
                </div><!-- /.entry-content -->
            </article></li>

            <li><article class="hentry">
                <header>
                    <h1><a href="/Part.1.F.deal-with-forward-references.html" rel="bookmark"
                           title="Permalink to Part.1.F.deal-with-forward-references">Part.1.F.deal-with-forward-references</a></h1>
                </header>

                <div class="entry-content">
<footer class="post-info">
        <span>Mon 06 April 2020</span>
<span>| tags: <a href="/tag/python.html">python</a><a href="/tag/progarmming.html">progarmming</a><a href="/tag/excel.html">Excel</a></span>
</footer><!-- /.post-info -->                <h1>如何从容应对含有过多 “过早引用” 的知识？</h1>
<p>“过早引用”（<a href="https://en.wikipedia.org/wiki/Forward_declaration#id=Forward_reference">Forward References</a>，另译为 “前置引用”），原本是计算机领域的术语。</p>
<p>在几乎所有的编程语言中，对于变量的使用，都有 “先声明再使用” 的要求。直接使用未声明的变量是被禁止的。Python 中，同样如此。如果在从未给 <code>an_undefined_variable</code> 赋值的情况下，直接调用这个变量，比如，<code>print(an_undefined_variable)</code>，那就会报错：<code>NameError: name 'an_undefined_variable' is not defined</code>。</p>
<div class="highlight"><pre><span></span><span class="k">print</span><span class="p">(</span><span class="n">an_undefined_variable</span><span class="p">)</span>
</pre></div>


<div class="highlight"><pre><span></span>---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

&lt;ipython-input-1-7e0e1cc14e37&gt; in &lt;module&gt;
----&gt; 1 print(an_undefined_variable)

NameError: name &#39;an_undefined_variable&#39; is …</pre></div>
                <a class="readmore" href="/Part.1.F.deal-with-forward-references.html">read more</a>
                </div><!-- /.entry-content -->
            </article></li>

            <li><article class="hentry">
                <header>
                    <h1><a href="/Part.1.G.The-Python-Tutorial-local.html" rel="bookmark"
                           title="Permalink to Part.1.G.The-Python-Tutorial-local">Part.1.G.The-Python-Tutorial-local</a></h1>
                </header>

                <div class="entry-content">
<footer class="post-info">
        <span>Mon 06 April 2020</span>
<span>| tags: <a href="/tag/python.html">python</a><a href="/tag/progarmming.html">progarmming</a><a href="/tag/excel.html">Excel</a></span>
</footer><!-- /.post-info -->                <h1>官方教程：The Python Tutorial</h1>
<p>虽然，第一部分总计七章关于编程内容的编排是非常特别且相当有效的：</p>
<blockquote>
<ul>
<li>它并没有像其它教程那样，从 “Hello world!” 入手；</li>
<li>它也没有使用与市面上所有编程教材一样的内容先后顺序；</li>
<li>它一上来就让你明白了程序的灵魂：布尔运算；</li>
<li>它很快就让你明白有意义的程序其实只有两个核心构成：运算和流程控制；</li>
<li>它让你很快理解函数从另外一个角度看只不过是 “程序员作为用户所使用的产品”；</li>
<li>它让你重点掌握了最初级却最重要的数据类型，字符串；</li>
<li>它让你从容器的角度了解了 Python 中绝大多数 “重要的数据类型”；</li>
<li>最重要的是，它不承诺你 “速成”，但承诺 “领你入门”…… 显然，它做到了。</li>
</ul>
</blockquote>
<p>但是，第一部分的内容核心目标是让你 “<strong>脱盲</strong>” —— 它的作用还做不到让你 “已然学会编程”，它更多是让你从此开始有能力去阅读更多的重要资源，比如，官方的教程和参考。第一部分的内容更像地图上的 “<strong>图例</strong>”，而不是地图本身。</p>
<p>第一部分反复读过之后，最重要的结果就是：</p>
<blockquote>
<p>现在你有能力自己查询官方文档了……</p>
</blockquote>
<p>起码，在此之后，再去阅读 <a href="https://docs.python.org/3/tutorial/index.html">The Python …</a></p>
                <a class="readmore" href="/Part.1.G.The-Python-Tutorial-local.html">read more</a>
                </div><!-- /.entry-content -->
            </article></li>
            </ol><!-- /#posts-list -->
<p class="paginator">
        <a href="/author/maxiaoan4.html">&laquo;</a>
    Page 5 / 22
        <a href="/author/maxiaoan6.html">&raquo;</a>
</p>
            </section><!-- /#content -->
        <section id="extras" class="body">
                <div class="blogroll">
                        <h2>blogroll</h2>
                        <ul>
                            <li><a href="http://getpelican.com/">Pelican</a></li>
                            <li><a href="http://python.org/">Python.org</a></li>
                            <li><a href="http://jinja.pocoo.org/">Jinja2</a></li>
                            <li><a href="#">You can modify those links in your config file</a></li>
                        </ul>
                </div><!-- /.blogroll -->
                <div class="social">
                        <h2>social</h2>
                        <ul>

                            <li><a href="#">You can add links in your config file</a></li>
                            <li><a href="#">Another social link</a></li>
                        </ul>
                </div><!-- /.social -->
        </section><!-- /#extras -->

        <footer id="contentinfo" class="body">
                <p>Powered by <a href="http://www.maxiaoan.com/">Maxiaoan</a></p>
        </footer><!-- /#contentinfo -->

</body>
</html>